import BaseModel from './BaseModel'
import { get, post } from '../api/ajax'
import API from '@/api/apis'
import { DateFormat } from 'yb-tool'
import { ImageFill, PixelUnitType } from '../utils/filters'

// 首页轮播图对象
class WorkModel extends BaseModel {

  // 开始时间 Date
  public startTime = ''
  // 结束时间 Date
  public endTime = ''
  // 显示的时间间隔字符串
  public timeIntervalStr = ''
  // 公司名称 String
  public name = ''
  // 公司图片 String
  public icon = ''
  // 详情 String
  public detil = ''
  // 职责 String
  public obligation = ''
  // 官网 String
  public url = ''

  // 构造方法
  constructor() {
    super()
  }

  // 获取所有工作
  public static getWorks() {
    return new Promise((resolve, reject) => {
      get(API.work.all).then((data: any) => {
        resolve(this.getModelsWithArr(data))
      }).catch((err) => {
        reject(err)
      })
    })
  }

  /* ----- 获取指定图片大小 -------*/
  // 手机端我的界面图片
  get mMeIcon() {
    return ImageFill(this.icon, 3.2, 3.2, PixelUnitType.rem)
  }

  // PC端我的界面图片
  get pcMeIcon() {
    return ImageFill(this.icon, 200, 200)
  }

  // 数据拦截
  public setDataWithJson(json: object) {
    super.setDataWithJson(json)
    const data = json as {startTime: number, endTime: number}
    this.timeIntervalStr = `${DateFormat(data.startTime, 'YYYY-MM-DD')} - ${DateFormat(data.endTime, 'YYYY-MM-DD')}`
  }
}

export default WorkModel
